home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / LINUX / ZORRO.H < prev   
C/C++ Source or Header  |  1999-09-17  |  35KB  |  737 lines

  1. /*
  2.  *  linux/zorro.h -- Amiga AutoConfig (Zorro) Bus Definitions
  3.  *
  4.  *  Copyright (C) 1995-1998 Geert Uytterhoeven
  5.  *
  6.  *  This file is subject to the terms and conditions of the GNU General Public
  7.  *  License.  See the file COPYING in the main directory of this archive
  8.  *  for more details.
  9.  */
  10.  
  11. #ifndef _LINUX_ZORRO_H
  12. #define _LINUX_ZORRO_H
  13.  
  14. #ifndef __ASSEMBLY__
  15.  
  16.     /*
  17.      *  Known Zorro Boards
  18.      *
  19.      *  Each Zorro board has a 32-bit ID of the form
  20.      *
  21.      *      mmmmmmmmmmmmmmmmppppppppeeeeeeee
  22.      *
  23.      *  with
  24.      *
  25.      *      mmmmmmmmmmmmmmmm    16-bit Manufacturer ID (assigned by CBM (sigh))
  26.      *      pppppppp        8-bit Product ID (assigned by manufacturer)
  27.      *      eeeeeeee        8-bit Extended Product ID (currently only used
  28.      *                for some GVP boards)
  29.      */
  30.  
  31.  
  32. #define ZORRO_MANUF(id)        ((id) >> 16)
  33. #define ZORRO_PROD(id)        (((id) >> 8) & 0xff)
  34. #define ZORRO_EPC(id)        ((id) & 0xff)
  35.  
  36. #define ZORRO_ID(manuf, prod, epc) \
  37.     ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc))
  38.  
  39. typedef __u32 zorro_id;
  40.  
  41.  
  42. #define ZORRO_MANUF_PACIFIC_PERIPHERALS                0x00D3
  43. #define  ZORRO_PROD_PACIFIC_PERIPHERALS_SE_2000_A500        ZORRO_ID(PACIFIC_PERIPHERALS, 0x00, 0)
  44. #define  ZORRO_PROD_PACIFIC_PERIPHERALS_SCSI            ZORRO_ID(PACIFIC_PERIPHERALS, 0x0A, 0)
  45.  
  46. #define ZORRO_MANUF_MACROSYSTEMS_USA_2                0x0100
  47. #define  ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE            ZORRO_ID(MACROSYSTEMS_USA_2, 0x13, 0)
  48.  
  49. #define ZORRO_MANUF_KUPKE_1                    0x00DD
  50. #define  ZORRO_PROD_KUPKE_GOLEM_RAM_BOX_2MB            ZORRO_ID(KUPKE_1, 0x00, 0)
  51.  
  52. #define ZORRO_MANUF_MEMPHIS                    0x0100
  53. #define  ZORRO_PROD_MEMPHIS_STORMBRINGER            ZORRO_ID(MEMPHIS, 0x00, 0)
  54.  
  55. #define ZORRO_MANUF_3_STATE                    0x0200
  56. #define  ZORRO_PROD_3_STATE_MEGAMIX_2000            ZORRO_ID(3_STATE, 0x02, 0)
  57.  
  58. #define ZORRO_MANUF_COMMODORE_BRAUNSCHWEIG            0x0201
  59. #define  ZORRO_PROD_CBM_A2088_A2286                ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x01, 0)
  60. #define  ZORRO_PROD_CBM_A2286                    ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x02, 0)
  61. #define  ZORRO_PROD_CBM_A4091_1                    ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x54, 0)
  62. #define  ZORRO_PROD_CBM_A2386SX_1                ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x67, 0)
  63.  
  64. #define ZORRO_MANUF_COMMODORE_WEST_CHESTER_1            0x0202
  65. #define  ZORRO_PROD_CBM_A2090A                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x01, 0)
  66. #define  ZORRO_PROD_CBM_A590_A2091_1                ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x02, 0)
  67. #define  ZORRO_PROD_CBM_A590_A2091_2                ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x03, 0)
  68. #define  ZORRO_PROD_CBM_A2090B                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x04, 0)
  69. #define  ZORRO_PROD_CBM_A2060                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x09, 0)
  70. #define  ZORRO_PROD_CBM_A590_A2052_A2058_A2091            ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x0A, 0)
  71. #define  ZORRO_PROD_CBM_A560_RAM                ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x20, 0)
  72. #define  ZORRO_PROD_CBM_A2232_PROTOTYPE                ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x45, 0)
  73. #define  ZORRO_PROD_CBM_A2232                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x46, 0)
  74. #define  ZORRO_PROD_CBM_A2620                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x50, 0)
  75. #define  ZORRO_PROD_CBM_A2630                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x51, 0)
  76. #define  ZORRO_PROD_CBM_A4091_2                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x54, 0)
  77. #define  ZORRO_PROD_CBM_A2065_1                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x5A, 0)
  78. #define  ZORRO_PROD_CBM_ROMULATOR                ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x60, 0)
  79. #define  ZORRO_PROD_CBM_A3000_TEST_FIXTURE            ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x61, 0)
  80. #define  ZORRO_PROD_CBM_A2386SX_2                ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x67, 0)
  81. #define  ZORRO_PROD_CBM_A2065_2                    ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x70, 0)
  82.  
  83. #define ZORRO_MANUF_COMMODORE_WEST_CHESTER_2            0x0203
  84. #define  ZORRO_PROD_CBM_A2090A_CM                ZORRO_ID(COMMODORE_WEST_CHESTER_2, 0x03, 0)
  85.  
  86. #define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2    0x02F4
  87. #define  ZORRO_PROD_PPS_EXP8000                    ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2, 0x02, 0)
  88.  
  89. #define ZORRO_MANUF_KOLFF_COMPUTER_SUPPLIES            0x02FF
  90. #define  ZORRO_PROD_KCS_POWER_PC_BOARD                ZORRO_ID(KOLFF_COMPUTER_SUPPLIES, 0x00, 0)
  91.  
  92. #define ZORRO_MANUF_CARDCO_1                    0x03EC
  93. #define  ZORRO_PROD_CARDCO_KRONOS_2000_1            ZORRO_ID(CARDCO_1, 0x04, 0)
  94. #define  ZORRO_PROD_CARDCO_A1000_1                ZORRO_ID(CARDCO_1, 0x0C, 0)
  95. #define  ZORRO_PROD_CARDCO_ESCORT                ZORRO_ID(CARDCO_1, 0x0E, 0)
  96. #define  ZORRO_PROD_CARDCO_A2410                ZORRO_ID(CARDCO_1, 0xF5, 0)
  97.  
  98. #define ZORRO_MANUF_A_SQUARED                    0x03ED
  99. #define  ZORRO_PROD_A_SQUARED_LIVE_2000                ZORRO_ID(A_SQUARED, 0x01, 0)
  100.  
  101. #define ZORRO_MANUF_COMSPEC_COMMUNICATIONS            0x03EE
  102. #define  ZORRO_PROD_COMSPEC_COMMUNICATIONS_AX2000        ZORRO_ID(COMSPEC_COMMUNICATIONS, 0x01, 0)
  103.  
  104. #define ZORRO_MANUF_ANAKIN_RESEARCH                0x03F1
  105. #define  ZORRO_PROD_ANAKIN_RESEARCH_EASYL            ZORRO_ID(ANAKIN_RESEARCH, 0x01, 0)
  106.  
  107. #define ZORRO_MANUF_MICROBOTICS                    0x03F2
  108. #define  ZORRO_PROD_MICROBOTICS_STARBOARD_II            ZORRO_ID(MICROBOTICS, 0x00, 0)
  109. #define  ZORRO_PROD_MICROBOTICS_STARDRIVE            ZORRO_ID(MICROBOTICS, 0x02, 0)
  110. #define  ZORRO_PROD_MICROBOTICS_8_UP_A                ZORRO_ID(MICROBOTICS, 0x03, 0)
  111. #define  ZORRO_PROD_MICROBOTICS_8_UP_Z                ZORRO_ID(MICROBOTICS, 0x04, 0)
  112. #define  ZORRO_PROD_MICROBOTICS_DELTA_RAM            ZORRO_ID(MICROBOTICS, 0x20, 0)
  113. #define  ZORRO_PROD_MICROBOTICS_8_STAR_RAM            ZORRO_ID(MICROBOTICS, 0x40, 0)
  114. #define  ZORRO_PROD_MICROBOTICS_8_STAR                ZORRO_ID(MICROBOTICS, 0x41, 0)
  115. #define  ZORRO_PROD_MICROBOTICS_VXL_RAM_32            ZORRO_ID(MICROBOTICS, 0x44, 0)
  116. #define  ZORRO_PROD_MICROBOTICS_VXL_68030            ZORRO_ID(MICROBOTICS, 0x45, 0)
  117. #define  ZORRO_PROD_MICROBOTICS_DELTA                ZORRO_ID(MICROBOTICS, 0x60, 0)
  118. #define  ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z_RAM        ZORRO_ID(MICROBOTICS, 0x81, 0)
  119. #define  ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_1        ZORRO_ID(MICROBOTICS, 0x96, 0)
  120. #define  ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_2        ZORRO_ID(MICROBOTICS, 0x9E, 0)
  121. #define  ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z            ZORRO_ID(MICROBOTICS, 0xC1, 0)
  122.  
  123. #define ZORRO_MANUF_ACCESS_ASSOCIATES_ALEGRA            0x03F4
  124.  
  125. #define ZORRO_MANUF_EXPANSION_TECHNOLOGIES            0x03F6
  126.  
  127. #define ZORRO_MANUF_ASDG                    0x03FF
  128. #define  ZORRO_PROD_ASDG_MEMORY_1                ZORRO_ID(ASDG, 0x01, 0)
  129. #define  ZORRO_PROD_ASDG_MEMORY_2                ZORRO_ID(ASDG, 0x02, 0)
  130. #define  ZORRO_PROD_ASDG_EB920_LAN_ROVER            ZORRO_ID(ASDG, 0xFE, 0)
  131. #define  ZORRO_PROD_ASDG_GPIB_DUALIEEE488_TWIN_X        ZORRO_ID(ASDG, 0xFF, 0)
  132.  
  133. #define ZORRO_MANUF_IMTRONICS_1                    0x0404
  134. #define  ZORRO_PROD_IMTRONICS_HURRICANE_2800_1            ZORRO_ID(IMTRONICS_1, 0x39, 0)
  135. #define  ZORRO_PROD_IMTRONICS_HURRICANE_2800_2            ZORRO_ID(IMTRONICS_1, 0x57, 0)
  136.  
  137. #define ZORRO_MANUF_CBM_UNIVERSITY_OF_LOWELL            0x0406
  138. #define  ZORRO_PROD_CBM_A2410                    ZORRO_ID(CBM_UNIVERSITY_OF_LOWELL, 0x00, 0)
  139.  
  140. #define ZORRO_MANUF_AMERISTAR                    0x041D
  141. #define  ZORRO_PROD_AMERISTAR_A2065                ZORRO_ID(AMERISTAR, 0x01, 0)
  142. #define  ZORRO_PROD_AMERISTAR_A560                ZORRO_ID(AMERISTAR, 0x09, 0)
  143. #define  ZORRO_PROD_AMERISTAR_A4066                ZORRO_ID(AMERISTAR, 0x0A, 0)
  144.  
  145. #define ZORRO_MANUF_SUPRA                    0x0420
  146. #define  ZORRO_PROD_SUPRA_SUPRADRIVE_4x4            ZORRO_ID(SUPRA, 0x01, 0)
  147. #define  ZORRO_PROD_SUPRA_1000_RAM                ZORRO_ID(SUPRA, 0x02, 0)
  148. #define  ZORRO_PROD_SUPRA_2000_DMA                ZORRO_ID(SUPRA, 0x03, 0)
  149. #define  ZORRO_PROD_SUPRA_500                    ZORRO_ID(SUPRA, 0x05, 0)
  150. #define  ZORRO_PROD_SUPRA_500_SCSI                ZORRO_ID(SUPRA, 0x08, 0)
  151. #define  ZORRO_PROD_SUPRA_500XP_2000_RAM            ZORRO_ID(SUPRA, 0x09, 0)
  152. #define  ZORRO_PROD_SUPRA_500RX_2000_RAM            ZORRO_ID(SUPRA, 0x0A, 0)
  153. #define  ZORRO_PROD_SUPRA_2400ZI                ZORRO_ID(SUPRA, 0x0B, 0)
  154. #define  ZORRO_PROD_SUPRA_500XP_SUPRADRIVE_WORDSYNC        ZORRO_ID(SUPRA, 0x0C, 0)
  155. #define  ZORRO_PROD_SUPRA_SUPRADRIVE_WORDSYNC_II        ZORRO_ID(SUPRA, 0x0D, 0)
  156. #define  ZORRO_PROD_SUPRA_2400ZIPLUS                ZORRO_ID(SUPRA, 0x10, 0)
  157.  
  158. #define ZORRO_MANUF_COMPUTER_SYSTEMS_ASSOCIATES            0x0422
  159. #define  ZORRO_PROD_CSA_MAGNUM                    ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x11, 0)
  160. #define  ZORRO_PROD_CSA_12_GAUGE                ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x15, 0)
  161.  
  162. #define ZORRO_MANUF_MARC_MICHAEL_GROTH                0x0439
  163.  
  164. #define ZORRO_MANUF_M_TECH                    0x0502
  165. #define  ZORRO_PROD_MTEC_AT500_1                ZORRO_ID(M_TECH, 0x03, 0)
  166.  
  167. #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_1            0x06E1
  168. #define  ZORRO_PROD_GVP_IMPACT_SERIES_I                ZORRO_ID(GREAT_VALLEY_PRODUCTS_1, 0x08, 0)
  169.  
  170. #define ZORRO_MANUF_BYTEBOX                    0x07DA
  171. #define  ZORRO_PROD_BYTEBOX_A500                ZORRO_ID(BYTEBOX, 0x00, 0)
  172.  
  173. #define ZORRO_MANUF_DKB_POWER_COMPUTING                0x07DC
  174. #define  ZORRO_PROD_DKB_POWER_COMPUTING_SECUREKEY        ZORRO_ID(DKB_POWER_COMPUTING, 0x09, 0)
  175. #define  ZORRO_PROD_DKB_POWER_COMPUTING_DKM_3128        ZORRO_ID(DKB_POWER_COMPUTING, 0x0E, 0)
  176. #define  ZORRO_PROD_DKB_POWER_COMPUTING_RAPID_FIRE        ZORRO_ID(DKB_POWER_COMPUTING, 0x0F, 0)
  177. #define  ZORRO_PROD_DKB_POWER_COMPUTING_DKM_1202        ZORRO_ID(DKB_POWER_COMPUTING, 0x10, 0)
  178. #define  ZORRO_PROD_DKB_POWER_COMPUTING_COBRA_VIPER_II_68EC030    ZORRO_ID(DKB_POWER_COMPUTING, 0x12, 0)
  179. #define  ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_1        ZORRO_ID(DKB_POWER_COMPUTING, 0x17, 0)
  180. #define  ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_2        ZORRO_ID(DKB_POWER_COMPUTING, 0xFF, 0)
  181.  
  182. #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_2            0x07E1
  183. #define  ZORRO_PROD_GVP_IMPACT_SERIES_I_4K            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x01, 0)
  184. #define  ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_2            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x02, 0)
  185. #define  ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_3            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x03, 0)
  186. #define  ZORRO_PROD_GVP_IMPACT_3001_IDE_1            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x08, 0)
  187. #define  ZORRO_PROD_GVP_IMPACT_3001_RAM                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x09, 0)
  188. #define  ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_1            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0A, 0)
  189. #define  ZORRO_PROD_GVP_EPC_BASE                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0)
  190. #define  ZORRO_PROD_GVP_GFORCE_040_1                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x20)
  191. #define  ZORRO_PROD_GVP_GFORCE_040_SCSI_1            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x30)
  192. #define  ZORRO_PROD_GVP_A1291                    ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x40)
  193. #define  ZORRO_PROD_GVP_COMBO_030_R4                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x60)
  194. #define  ZORRO_PROD_GVP_COMBO_030_R4_SCSI            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x70)
  195. #define  ZORRO_PROD_GVP_PHONEPAK                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x78)
  196. #define  ZORRO_PROD_GVP_IO_EXTENDER                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x98)
  197. #define  ZORRO_PROD_GVP_GFORCE_030                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xa0)
  198. #define  ZORRO_PROD_GVP_GFORCE_030_SCSI                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xb0)
  199. #define  ZORRO_PROD_GVP_A530                    ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xc0)
  200. #define  ZORRO_PROD_GVP_A530_SCSI                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xd0)
  201. #define  ZORRO_PROD_GVP_COMBO_030_R3                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xe0)
  202. #define  ZORRO_PROD_GVP_COMBO_030_R3_SCSI            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf0)
  203. #define  ZORRO_PROD_GVP_SERIES_II                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf8)
  204. #define  ZORRO_PROD_GVP_IMPACT_3001_IDE_2            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)
  205. /*#define  ZORRO_PROD_GVP_A2000_030                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)*/
  206. /*#define  ZORRO_PROD_GVP_GFORCE_040_SCSI_2            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)*/
  207. #define  ZORRO_PROD_GVP_GFORCE_040_060                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x16, 0)
  208. #define  ZORRO_PROD_GVP_IMPACT_VISION_24            ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x20, 0)
  209. #define  ZORRO_PROD_GVP_GFORCE_040_2                ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0xFF, 0)
  210.  
  211. #define ZORRO_MANUF_CALIFORNIA_ACCESS_SYNERGY            0x07E5
  212. #define  ZORRO_PROD_CALIFORNIA_ACCESS_SYNERGY_MALIBU        ZORRO_ID(CALIFORNIA_ACCESS_SYNERGY, 0x01, 0)
  213.  
  214. #define ZORRO_MANUF_XETEC                    0x07E6
  215. #define  ZORRO_PROD_XETEC_FASTCARD                ZORRO_ID(XETEC, 0x01, 0)
  216. #define  ZORRO_PROD_XETEC_FASTCARD_RAM                ZORRO_ID(XETEC, 0x02, 0)
  217. #define  ZORRO_PROD_XETEC_FASTCARD_PLUS                ZORRO_ID(XETEC, 0x03, 0)
  218.  
  219. #define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS        0x07EA
  220. #define  ZORRO_PROD_PPS_MERCURY                    ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x00, 0)
  221. #define  ZORRO_PROD_PPS_A3000_68040                ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x01, 0)
  222. #define  ZORRO_PROD_PPS_A2000_68040                ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x69, 0)
  223. #define  ZORRO_PROD_PPS_ZEUS                    ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x96, 0)
  224. #define  ZORRO_PROD_PPS_A500_68040                ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0xBB, 0)
  225.  
  226. #define ZORRO_MANUF_XEBEC                    0x07EC
  227.  
  228. #define ZORRO_MANUF_SPIRIT_TECHNOLOGY                0x07F2
  229. #define  ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN1000        ZORRO_ID(SPIRIT_TECHNOLOGY, 0x01, 0)
  230. #define  ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN500        ZORRO_ID(SPIRIT_TECHNOLOGY, 0x02, 0)
  231. #define  ZORRO_PROD_SPIRIT_TECHNOLOGY_SIN500            ZORRO_ID(SPIRIT_TECHNOLOGY, 0x03, 0)
  232. #define  ZORRO_PROD_SPIRIT_TECHNOLOGY_HDA_506            ZORRO_ID(SPIRIT_TECHNOLOGY, 0x04, 0)
  233. #define  ZORRO_PROD_SPIRIT_TECHNOLOGY_AX_S            ZORRO_ID(SPIRIT_TECHNOLOGY, 0x05, 0)
  234. #define  ZORRO_PROD_SPIRIT_TECHNOLOGY_OCTABYTE            ZORRO_ID(SPIRIT_TECHNOLOGY, 0x06, 0)
  235. #define  ZORRO_PROD_SPIRIT_TECHNOLOGY_INMATE            ZORRO_ID(SPIRIT_TECHNOLOGY, 0x08, 0)
  236.  
  237. #define ZORRO_MANUF_SPIRIT_TECHNOLOGY_2                0x07F3
  238.  
  239. #define ZORRO_MANUF_BSC_ALFADATA_1                0x07FE
  240. #define  ZORRO_PROD_BSC_ALF_3_1                    ZORRO_ID(BSC_ALFADATA_1, 0x03, 0)
  241.  
  242. #define ZORRO_MANUF_BSC_ALFADATA_2                0x0801
  243. #define  ZORRO_PROD_BSC_ALF_2_1                    ZORRO_ID(BSC_ALFADATA_2, 0x01, 0)
  244. #define  ZORRO_PROD_BSC_ALF_2_2                    ZORRO_ID(BSC_ALFADATA_2, 0x02, 0)
  245. #define  ZORRO_PROD_BSC_ALF_3_2                    ZORRO_ID(BSC_ALFADATA_2, 0x03, 0)
  246.  
  247. #define ZORRO_MANUF_CARDCO_2                    0x0802
  248. #define  ZORRO_PROD_CARDCO_KRONOS_2000_2            ZORRO_ID(CARDCO_2, 0x04, 0)
  249. #define  ZORRO_PROD_CARDCO_A1000_2                ZORRO_ID(CARDCO_2, 0x0C, 0)
  250.  
  251. #define ZORRO_MANUF_JOCHHEIM                    0x0804
  252. #define  ZORRO_PROD_JOCHHEIM_RAM                ZORRO_ID(JOCHHEIM, 0x01, 0)
  253.  
  254. #define ZORRO_MANUF_CHECKPOINT_TECHNOLOGIES            0x0807
  255. #define  ZORRO_PROD_CHECKPOINT_TECHNOLOGIES_SERIAL_SOLUTION    ZORRO_ID(CHECKPOINT_TECHNOLOGIES, 0x00, 0)
  256.  
  257. #define ZORRO_MANUF_EDOTRONIK                    0x0810
  258. #define  ZORRO_PROD_EDOTRONIK_IEEE_488                ZORRO_ID(EDOTRONIK, 0x01, 0)
  259. #define  ZORRO_PROD_EDOTRONIK_8032                ZORRO_ID(EDOTRONIK, 0x02, 0)
  260. #define  ZORRO_PROD_EDOTRONIK_MULTISERIAL            ZORRO_ID(EDOTRONIK, 0x03, 0)
  261. #define  ZORRO_PROD_EDOTRONIK_VIDEODIGITIZER            ZORRO_ID(EDOTRONIK, 0x04, 0)
  262. #define  ZORRO_PROD_EDOTRONIK_PARALLEL_IO            ZORRO_ID(EDOTRONIK, 0x05, 0)
  263. #define  ZORRO_PROD_EDOTRONIK_PIC_PROTOYPING            ZORRO_ID(EDOTRONIK, 0x06, 0)
  264. #define  ZORRO_PROD_EDOTRONIK_ADC                ZORRO_ID(EDOTRONIK, 0x07, 0)
  265. #define  ZORRO_PROD_EDOTRONIK_VME                ZORRO_ID(EDOTRONIK, 0x08, 0)
  266. #define  ZORRO_PROD_EDOTRONIK_DSP96000                ZORRO_ID(EDOTRONIK, 0x09, 0)
  267.  
  268. #define ZORRO_MANUF_NES_INC                    0x0813
  269. #define  ZORRO_PROD_NES_INC_RAM                    ZORRO_ID(NES_INC, 0x00, 0)
  270.  
  271. #define ZORRO_MANUF_ICD                        0x0817
  272. #define  ZORRO_PROD_ICD_ADVANTAGE_2000_SCSI            ZORRO_ID(ICD, 0x01, 0)
  273. #define  ZORRO_PROD_ICD_ADVANTAGE_IDE                ZORRO_ID(ICD, 0x03, 0)
  274. #define  ZORRO_PROD_ICD_ADVANTAGE_2080_RAM            ZORRO_ID(ICD, 0x04, 0)
  275.  
  276. #define ZORRO_MANUF_KUPKE_2                    0x0819
  277. #define  ZORRO_PROD_KUPKE_OMTI                    ZORRO_ID(KUPKE_2, 0x01, 0)
  278. #define  ZORRO_PROD_KUPKE_SCSI_II                ZORRO_ID(KUPKE_2, 0x02, 0)
  279. #define  ZORRO_PROD_KUPKE_GOLEM_BOX                ZORRO_ID(KUPKE_2, 0x03, 0)
  280. #define  ZORRO_PROD_KUPKE_030_882                ZORRO_ID(KUPKE_2, 0x04, 0)
  281. #define  ZORRO_PROD_KUPKE_SCSI_AT                ZORRO_ID(KUPKE_2, 0x05, 0)
  282.  
  283. #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_3            0x081D
  284. #define  ZORRO_PROD_GVP_A2000_RAM8                ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x09, 0)
  285. #define  ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_2            ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x0A, 0)
  286.  
  287. #define ZORRO_MANUF_INTERWORKS_NETWORK                0x081E
  288.  
  289. #define ZORRO_MANUF_HARDITAL_SYNTHESIS                0x0820
  290. #define  ZORRO_PROD_HARDITAL_SYNTHESIS_TQM_68030_68882        ZORRO_ID(HARDITAL_SYNTHESIS, 0x14, 0)
  291.  
  292. #define ZORRO_MANUF_APPLIED_ENGINEERING                0x0828
  293. #define  ZORRO_PROD_APPLIED_ENGINEERING_DL2000            ZORRO_ID(APPLIED_ENGINEERING, 0x10, 0)
  294. #define  ZORRO_PROD_APPLIED_ENGINEERING_RAM_WORKS        ZORRO_ID(APPLIED_ENGINEERING, 0xE0, 0)
  295.  
  296. #define ZORRO_MANUF_BSC_ALFADATA_3                0x082C
  297. #define  ZORRO_PROD_BSC_OKTAGON_2008                ZORRO_ID(BSC_ALFADATA_3, 0x05, 0)
  298. #define  ZORRO_PROD_BSC_TANDEM_AT_2008_508            ZORRO_ID(BSC_ALFADATA_3, 0x06, 0)
  299. #define  ZORRO_PROD_BSC_ALFA_RAM_1200                ZORRO_ID(BSC_ALFADATA_3, 0x07, 0)
  300. #define  ZORRO_PROD_BSC_OKTAGON_2008_RAM            ZORRO_ID(BSC_ALFADATA_3, 0x08, 0)
  301. #define  ZORRO_PROD_BSC_MULTIFACE_I                ZORRO_ID(BSC_ALFADATA_3, 0x10, 0)
  302. #define  ZORRO_PROD_BSC_MULTIFACE_II                ZORRO_ID(BSC_ALFADATA_3, 0x11, 0)
  303. #define  ZORRO_PROD_BSC_MULTIFACE_III                ZORRO_ID(BSC_ALFADATA_3, 0x12, 0)
  304. #define  ZORRO_PROD_BSC_FRAMEMASTER_II                ZORRO_ID(BSC_ALFADATA_3, 0x20, 0)
  305. #define  ZORRO_PROD_BSC_GRAFFITI_RAM                ZORRO_ID(BSC_ALFADATA_3, 0x21, 0)
  306. #define  ZORRO_PROD_BSC_GRAFFITI_REG                ZORRO_ID(BSC_ALFADATA_3, 0x22, 0)
  307. #define  ZORRO_PROD_BSC_ISDN_MASTERCARD                ZORRO_ID(BSC_ALFADATA_3, 0x40, 0)
  308. #define  ZORRO_PROD_BSC_ISDN_MASTERCARD_II            ZORRO_ID(BSC_ALFADATA_3, 0x41, 0)
  309.  
  310. #define ZORRO_MANUF_PHOENIX                    0x0835
  311. #define  ZORRO_PROD_PHOENIX_ST506                ZORRO_ID(PHOENIX, 0x21, 0)
  312. #define  ZORRO_PROD_PHOENIX_SCSI                ZORRO_ID(PHOENIX, 0x22, 0)
  313. #define  ZORRO_PROD_PHOENIX_RAM                    ZORRO_ID(PHOENIX, 0xBE, 0)
  314.  
  315. #define ZORRO_MANUF_ADVANCED_STORAGE_SYSTEMS            0x0836
  316. #define  ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS        ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x01, 0)
  317. #define  ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS_RAM        ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x08, 0)
  318.  
  319. #define ZORRO_MANUF_IMPULSE                    0x0838
  320. #define  ZORRO_PROD_IMPULSE_FIRECRACKER_24            ZORRO_ID(IMPULSE, 0x00, 0)
  321.  
  322. #define ZORRO_MANUF_IVS                        0x0840
  323. #define  ZORRO_PROD_IVS_GRANDSLAM_PIC_2                ZORRO_ID(IVS, 0x02, 0)
  324. #define  ZORRO_PROD_IVS_GRANDSLAM_PIC_1                ZORRO_ID(IVS, 0x04, 0)
  325. #define  ZORRO_PROD_IVS_OVERDRIVE                ZORRO_ID(IVS, 0x10, 0)
  326. #define  ZORRO_PROD_IVS_TRUMPCARD_CLASSIC            ZORRO_ID(IVS, 0x30, 0)
  327. #define  ZORRO_PROD_IVS_TRUMPCARD_PRO_GRANDSLAM            ZORRO_ID(IVS, 0x34, 0)
  328. #define  ZORRO_PROD_IVS_META_4                    ZORRO_ID(IVS, 0x40, 0)
  329. #define  ZORRO_PROD_IVS_WAVETOOLS                ZORRO_ID(IVS, 0xBF, 0)
  330. #define  ZORRO_PROD_IVS_VECTOR_1                ZORRO_ID(IVS, 0xF3, 0)
  331. #define  ZORRO_PROD_IVS_VECTOR_2                ZORRO_ID(IVS, 0xF4, 0)
  332.  
  333. #define ZORRO_MANUF_VECTOR_1                    0x0841
  334. #define  ZORRO_PROD_VECTOR_CONNECTION_1                ZORRO_ID(VECTOR_1, 0xE3, 0)
  335.  
  336. #define ZORRO_MANUF_XPERT_PRODEV                0x0845
  337. #define  ZORRO_PROD_XPERT_PRODEV_VISIONA_RAM            ZORRO_ID(XPERT_PRODEV, 0x01, 0)
  338. #define  ZORRO_PROD_XPERT_PRODEV_VISIONA_REG            ZORRO_ID(XPERT_PRODEV, 0x02, 0)
  339. #define  ZORRO_PROD_XPERT_PRODEV_MERLIN_RAM            ZORRO_ID(XPERT_PRODEV, 0x03, 0)
  340. #define  ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_1            ZORRO_ID(XPERT_PRODEV, 0x04, 0)
  341. #define  ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_2            ZORRO_ID(XPERT_PRODEV, 0xC9, 0)
  342.  
  343. #define ZORRO_MANUF_HYDRA_SYSTEMS                0x0849
  344. #define  ZORRO_PROD_HYDRA_SYSTEMS_AMIGANET            ZORRO_ID(HYDRA_SYSTEMS, 0x01, 0)
  345.  
  346. #define ZORRO_MANUF_SUNRIZE_INDUSTRIES                0x084F
  347. #define  ZORRO_PROD_SUNRIZE_INDUSTRIES_AD1012            ZORRO_ID(SUNRIZE_INDUSTRIES, 0x01, 0)
  348. #define  ZORRO_PROD_SUNRIZE_INDUSTRIES_AD516            ZORRO_ID(SUNRIZE_INDUSTRIES, 0x02, 0)
  349. #define  ZORRO_PROD_SUNRIZE_INDUSTRIES_DD512            ZORRO_ID(SUNRIZE_INDUSTRIES, 0x03, 0)
  350.  
  351. #define ZORRO_MANUF_TRICERATOPS                    0x0850
  352. #define  ZORRO_PROD_TRICERATOPS_MULTI_IO            ZORRO_ID(TRICERATOPS, 0x01, 0)
  353.  
  354. #define ZORRO_MANUF_APPLIED_MAGIC                0x0851
  355. #define  ZORRO_PROD_APPLIED_MAGIC_DMI_RESOLVER            ZORRO_ID(APPLIED_MAGIC, 0x01, 0)
  356. #define  ZORRO_PROD_APPLIED_MAGIC_DIGITAL_BROADCASTER        ZORRO_ID(APPLIED_MAGIC, 0x06, 0)
  357.  
  358. #define ZORRO_MANUF_GFX_BASE                    0x085E
  359. #define  ZORRO_PROD_GFX_BASE_GDA_1_VRAM                ZORRO_ID(GFX_BASE, 0x00, 0)
  360. #define  ZORRO_PROD_GFX_BASE_GDA_1                ZORRO_ID(GFX_BASE, 0x01, 0)
  361.  
  362. #define ZORRO_MANUF_ROCTEC                    0x0860
  363. #define  ZORRO_PROD_ROCTEC_RH_800C                ZORRO_ID(ROCTEC, 0x01, 0)
  364. #define  ZORRO_PROD_ROCTEC_RH_800C_RAM                ZORRO_ID(ROCTEC, 0x01, 0)
  365.  
  366. #define ZORRO_MANUF_KATO                    0x0861
  367. #define  ZORRO_PROD_KATO_MELODY                    ZORRO_ID(KATO, 0x80, 0)
  368. /* ID clash!! */
  369. #define ZORRO_MANUF_HELFRICH_1                    0x0861
  370. #define  ZORRO_PROD_HELFRICH_RAINBOW_II                ZORRO_ID(HELFRICH_1, 0x20, 0)
  371. #define  ZORRO_PROD_HELFRICH_RAINBOW_III            ZORRO_ID(HELFRICH_1, 0x21, 0)
  372.  
  373. #define ZORRO_MANUF_ATLANTIS                    0x0862
  374.  
  375. #define ZORRO_MANUF_PROTAR                    0x0864
  376.  
  377. #define ZORRO_MANUF_ACS                        0x0865
  378.  
  379. #define ZORRO_MANUF_SOFTWARE_RESULTS_ENTERPRISES        0x0866
  380. #define  ZORRO_PROD_SOFTWARE_RESULTS_ENTERPRISES_GOLDEN_GATE_2_BUS_PLUS    ZORRO_ID(SOFTWARE_RESULTS_ENTERPRISES, 0x01, 0)
  381.  
  382. #define ZORRO_MANUF_MASOBOSHI                    0x086D
  383. #define  ZORRO_PROD_MASOBOSHI_MASTER_CARD_SC201            ZORRO_ID(MASOBOSHI, 0x03, 0)
  384. #define  ZORRO_PROD_MASOBOSHI_MASTER_CARD_MC702            ZORRO_ID(MASOBOSHI, 0x04, 0)
  385. #define  ZORRO_PROD_MASOBOSHI_MVD_819                ZORRO_ID(MASOBOSHI, 0x07, 0)
  386.  
  387. #define ZORRO_MANUF_MAINHATTAN_DATA                0x086F
  388. #define  ZORRO_PROD_MAINHATTAN_DATA_IDE                ZORRO_ID(MAINHATTAN_DATA, 0x01, 0)
  389.  
  390. #define ZORRO_MANUF_VILLAGE_TRONIC                0x0877
  391. #define  ZORRO_PROD_VILLAGE_TRONIC_DOMINO_RAM            ZORRO_ID(VILLAGE_TRONIC, 0x01, 0)
  392. #define  ZORRO_PROD_VILLAGE_TRONIC_DOMINO_REG            ZORRO_ID(VILLAGE_TRONIC, 0x02, 0)
  393. #define  ZORRO_PROD_VILLAGE_TRONIC_DOMINO_16M_PROTOTYPE        ZORRO_ID(VILLAGE_TRONIC, 0x03, 0)
  394. #define  ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_RAM    ZORRO_ID(VILLAGE_TRONIC, 0x0B, 0)
  395. #define  ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_REG    ZORRO_ID(VILLAGE_TRONIC, 0x0C, 0)
  396. #define  ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_SEGMENTED_MODE    ZORRO_ID(VILLAGE_TRONIC, 0x0D, 0)
  397. #define  ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_MEM1        ZORRO_ID(VILLAGE_TRONIC, 0x15, 0)
  398. #define  ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_MEM2        ZORRO_ID(VILLAGE_TRONIC, 0x16, 0)
  399. #define  ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_REG        ZORRO_ID(VILLAGE_TRONIC, 0x17, 0)
  400. #define  ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z3        ZORRO_ID(VILLAGE_TRONIC, 0x18, 0)
  401. #define  ZORRO_PROD_VILLAGE_TRONIC_ARIADNE            ZORRO_ID(VILLAGE_TRONIC, 0xC9, 0)
  402. #define  ZORRO_PROD_VILLAGE_TRONIC_ARIADNE2            ZORRO_ID(VILLAGE_TRONIC, 0xCA, 0)
  403.  
  404. #define ZORRO_MANUF_UTILITIES_UNLIMITED                0x087B
  405. #define  ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE        ZORRO_ID(UTILITIES_UNLIMITED, 0x15, 0)
  406. #define  ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE2        ZORRO_ID(UTILITIES_UNLIMITED, 0x20, 0)
  407.  
  408. #define ZORRO_MANUF_AMITRIX                    0x0880
  409. #define  ZORRO_PROD_AMITRIX_MULTI_IO                ZORRO_ID(AMITRIX, 0x01, 0)
  410. #define  ZORRO_PROD_AMITRIX_CD_RAM                ZORRO_ID(AMITRIX, 0x02, 0)
  411.  
  412. #define ZORRO_MANUF_ARMAX                    0x0885
  413. #define  ZORRO_PROD_ARMAX_OMNIBUS                ZORRO_ID(ARMAX, 0x00, 0)
  414.  
  415. #define ZORRO_MANUF_ZEUS                    0x088D
  416. #define  ZORRO_PROD_ZEUS_SPIDER                    ZORRO_ID(ZEUS, 0x04, 0)
  417.  
  418. #define ZORRO_MANUF_NEWTEK                    0x088F
  419. #define  ZORRO_PROD_NEWTEK_VIDEOTOASTER                ZORRO_ID(NEWTEK, 0x00, 0)
  420.  
  421. #define ZORRO_MANUF_M_TECH_GERMANY                0x0890
  422. #define  ZORRO_PROD_MTEC_AT500_2                ZORRO_ID(M_TECH_GERMANY, 0x01, 0)
  423. #define  ZORRO_PROD_MTEC_68030                    ZORRO_ID(M_TECH_GERMANY, 0x03, 0)
  424. #define  ZORRO_PROD_MTEC_68020I                    ZORRO_ID(M_TECH_GERMANY, 0x06, 0)
  425. #define  ZORRO_PROD_MTEC_A1200_T68030_RTC            ZORRO_ID(M_TECH_GERMANY, 0x20, 0)
  426. #define  ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530        ZORRO_ID(M_TECH_GERMANY, 0x21, 0)
  427. #define  ZORRO_PROD_MTEC_8_MB_RAM                ZORRO_ID(M_TECH_GERMANY, 0x22, 0)
  428. #define  ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE    ZORRO_ID(M_TECH_GERMANY, 0x24, 0)
  429.  
  430. #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_4            0x0891
  431. #define  ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_RAM            ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x01, 0)
  432. #define  ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_REG            ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x02, 0)
  433.  
  434. #define ZORRO_MANUF_APOLLO_1                    0x0892
  435. #define  ZORRO_PROD_APOLLO_A1200                ZORRO_ID(APOLLO_1, 0x01, 0)
  436.  
  437. #define ZORRO_MANUF_HELFRICH_2                    0x0893
  438. #define  ZORRO_PROD_HELFRICH_PICCOLO_RAM            ZORRO_ID(HELFRICH_2, 0x05, 0)
  439. #define  ZORRO_PROD_HELFRICH_PICCOLO_REG            ZORRO_ID(HELFRICH_2, 0x06, 0)
  440. #define  ZORRO_PROD_HELFRICH_PEGGY_PLUS_MPEG            ZORRO_ID(HELFRICH_2, 0x07, 0)
  441. #define  ZORRO_PROD_HELFRICH_VIDEOCRUNCHER            ZORRO_ID(HELFRICH_2, 0x08, 0)
  442. #define  ZORRO_PROD_HELFRICH_SD64_RAM                ZORRO_ID(HELFRICH_2, 0x0A, 0)
  443. #define  ZORRO_PROD_HELFRICH_SD64_REG                ZORRO_ID(HELFRICH_2, 0x0B, 0)
  444.  
  445. #define ZORRO_MANUF_MACROSYSTEMS_USA                0x089B
  446. #define  ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx        ZORRO_ID(MACROSYSTEMS_USA, 0x13, 0)
  447.  
  448. #define ZORRO_MANUF_ELBOX_COMPUTER                0x089E
  449. #define  ZORRO_PROD_ELBOX_COMPUTER_1200_4            ZORRO_ID(ELBOX_COMPUTER, 0x06, 0)
  450.  
  451. #define ZORRO_MANUF_HARMS_PROFESSIONAL                0x0A00
  452. #define  ZORRO_PROD_HARMS_PROFESSIONAL_030_PLUS            ZORRO_ID(HARMS_PROFESSIONAL, 0x10, 0)
  453. #define  ZORRO_PROD_HARMS_PROFESSIONAL_3500            ZORRO_ID(HARMS_PROFESSIONAL, 0xD0, 0)
  454.  
  455. #define ZORRO_MANUF_MICRONIK                    0x0A50
  456. #define  ZORRO_PROD_MICRONIK_RCA_120                ZORRO_ID(MICRONIK, 0x0A, 0)
  457.  
  458. #define ZORRO_MANUF_MICRONIK2                    0x0F0F
  459. #define  ZORRO_PROD_MICRONIK2_Z3I                ZORRO_ID(MICRONIK2, 0x01, 0)
  460.  
  461. #define ZORRO_MANUF_MEGAMICRO                    0x1000
  462. #define  ZORRO_PROD_MEGAMICRO_SCRAM_500                ZORRO_ID(MEGAMICRO, 0x03, 0)
  463. #define  ZORRO_PROD_MEGAMICRO_SCRAM_500_RAM            ZORRO_ID(MEGAMICRO, 0x04, 0)
  464.  
  465. #define ZORRO_MANUF_IMTRONICS_2                    0x1028
  466. #define  ZORRO_PROD_IMTRONICS_HURRICANE_2800_3            ZORRO_ID(IMTRONICS_2, 0x39, 0)
  467. #define  ZORRO_PROD_IMTRONICS_HURRICANE_2800_4            ZORRO_ID(IMTRONICS_2, 0x57, 0)
  468.  
  469. /* unofficial ID */
  470. #define ZORRO_MANUF_INDIVIDUAL_COMPUTERS            0x1212
  471. #define  ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA            ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x00, 0)
  472. #define  ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL        ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x2A, 0)
  473.  
  474. #define ZORRO_MANUF_KUPKE_3                    0x1248
  475. #define  ZORRO_PROD_KUPKE_GOLEM_HD_3000                ZORRO_ID(KUPKE_3, 0x01, 0)
  476.  
  477. #define ZORRO_MANUF_ITH                        0x1388
  478. #define  ZORRO_PROD_ITH_ISDN_MASTER_II                ZORRO_ID(ITH, 0x01, 0)
  479.  
  480. #define ZORRO_MANUF_VMC                        0x1389
  481. #define  ZORRO_PROD_VMC_ISDN_BLASTER_Z2                ZORRO_ID(VMC, 0x01, 0)
  482. #define  ZORRO_PROD_VMC_HYPERCOM_4                ZORRO_ID(VMC, 0x02, 0)
  483.  
  484. #define ZORRO_MANUF_INFORMATION                    0x157C
  485. #define  ZORRO_PROD_INFORMATION_ISDN_ENGINE_I            ZORRO_ID(INFORMATION, 0x64, 0)
  486.  
  487. #define ZORRO_MANUF_VORTEX                    0x2017
  488. #define  ZORRO_PROD_VORTEX_GOLDEN_GATE_80386SX            ZORRO_ID(VORTEX, 0x07, 0)
  489. #define  ZORRO_PROD_VORTEX_GOLDEN_GATE_RAM            ZORRO_ID(VORTEX, 0x08, 0)
  490. #define  ZORRO_PROD_VORTEX_GOLDEN_GATE_80486            ZORRO_ID(VORTEX, 0x09, 0)
  491.  
  492. #define ZORRO_MANUF_EXPANSION_SYSTEMS                0x2062
  493. #define  ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX        ZORRO_ID(EXPANSION_SYSTEMS, 0x01, 0)
  494. #define  ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX_RAM    ZORRO_ID(EXPANSION_SYSTEMS, 0x02, 0)
  495.  
  496. #define ZORRO_MANUF_READYSOFT                    0x2100
  497. #define  ZORRO_PROD_READYSOFT_AMAX_II_IV            ZORRO_ID(READYSOFT, 0x01, 0)
  498.  
  499. #define ZORRO_MANUF_PHASE5                    0x2140
  500. #define  ZORRO_PROD_PHASE5_BLIZZARD_RAM                ZORRO_ID(PHASE5, 0x01, 0)
  501. #define  ZORRO_PROD_PHASE5_BLIZZARD                ZORRO_ID(PHASE5, 0x02, 0)
  502. #define  ZORRO_PROD_PHASE5_BLIZZARD_1220_IV            ZORRO_ID(PHASE5, 0x06, 0)
  503. #define  ZORRO_PROD_PHASE5_FASTLANE_Z3_RAM            ZORRO_ID(PHASE5, 0x0A, 0)
  504. #define  ZORRO_PROD_PHASE5_BLIZZARD_1230_II_FASTLANE_Z3_CYBERSCSI_CYBERSTORM060    ZORRO_ID(PHASE5, 0x0B, 0)
  505. #define  ZORRO_PROD_PHASE5_BLIZZARD_1220_CYBERSTORM        ZORRO_ID(PHASE5, 0x0C, 0)
  506. #define  ZORRO_PROD_PHASE5_BLIZZARD_1230            ZORRO_ID(PHASE5, 0x0D, 0)
  507. #define  ZORRO_PROD_PHASE5_BLIZZARD_1230_IV_1260        ZORRO_ID(PHASE5, 0x11, 0)
  508. #define  ZORRO_PROD_PHASE5_BLIZZARD_2060            ZORRO_ID(PHASE5, 0x18, 0)
  509. #define  ZORRO_PROD_PHASE5_CYBERSTORM_MK_II            ZORRO_ID(PHASE5, 0x19, 0)
  510. #define  ZORRO_PROD_PHASE5_CYBERVISION64            ZORRO_ID(PHASE5, 0x22, 0)
  511. #define  ZORRO_PROD_PHASE5_CYBERVISION64_3D_PROTOTYPE        ZORRO_ID(PHASE5, 0x32, 0)
  512. #define  ZORRO_PROD_PHASE5_CYBERVISION64_3D            ZORRO_ID(PHASE5, 0x43, 0)
  513. #define  ZORRO_PROD_PHASE5_CYBERSTORM_MK_III            ZORRO_ID(PHASE5, 0x64, 0)
  514. #define  ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS            ZORRO_ID(PHASE5, 0x6e, 0)
  515.  
  516. #define ZORRO_MANUF_DPS                        0x2169
  517. #define  ZORRO_PROD_DPS_PERSONAL_ANIMATION_RECORDER        ZORRO_ID(DPS, 0x01, 0)
  518.  
  519. #define ZORRO_MANUF_APOLLO_2                    0x2200
  520. #define  ZORRO_PROD_APOLLO_A620_68020_1                ZORRO_ID(APOLLO_2, 0x00, 0)
  521. #define  ZORRO_PROD_APOLLO_A620_68020_2                ZORRO_ID(APOLLO_2, 0x01, 0)
  522.  
  523. #define ZORRO_MANUF_APOLLO_3                    0x2222
  524. #define  ZORRO_PROD_APOLLO_AT_APOLLO                ZORRO_ID(APOLLO_3, 0x22, 0)
  525. #define  ZORRO_PROD_APOLLO_1230_1240_1260_2030_4040_4060    ZORRO_ID(APOLLO_3, 0x23, 0)
  526.  
  527. #define ZORRO_MANUF_PETSOFF_LP                    0x38A5
  528. #define  ZORRO_PROD_PETSOFF_LP_DELFINA                ZORRO_ID(PETSOFF_LP, 0x00, 0)
  529. #define  ZORRO_PROD_PETSOFF_LP_DELFINA_LITE            ZORRO_ID(PETSOFF_LP, 0x01, 0)
  530.  
  531. #define ZORRO_MANUF_UWE_GERLACH                    0x3FF7
  532. #define  ZORRO_PROD_UWE_GERLACH_RAM_ROM                ZORRO_ID(UWE_GERLACH, 0xd4, 0)
  533.  
  534. #define ZORRO_MANUF_ACT                        0x4231
  535. #define  ZORRO_PROD_ACT_PRELUDE                    ZORRO_ID(ACT, 0x01, 0)
  536.  
  537. #define ZORRO_MANUF_MACROSYSTEMS_GERMANY            0x4754
  538. #define  ZORRO_PROD_MACROSYSTEMS_MAESTRO            ZORRO_ID(MACROSYSTEMS_GERMANY, 0x03, 0)
  539. #define  ZORRO_PROD_MACROSYSTEMS_VLAB                ZORRO_ID(MACROSYSTEMS_GERMANY, 0x04, 0)
  540. #define  ZORRO_PROD_MACROSYSTEMS_MAESTRO_PRO            ZORRO_ID(MACROSYSTEMS_GERMANY, 0x05, 0)
  541. #define  ZORRO_PROD_MACROSYSTEMS_RETINA                ZORRO_ID(MACROSYSTEMS_GERMANY, 0x06, 0)
  542. #define  ZORRO_PROD_MACROSYSTEMS_MULTI_EVOLUTION        ZORRO_ID(MACROSYSTEMS_GERMANY, 0x08, 0)
  543. #define  ZORRO_PROD_MACROSYSTEMS_TOCCATA            ZORRO_ID(MACROSYSTEMS_GERMANY, 0x0C, 0)
  544. #define  ZORRO_PROD_MACROSYSTEMS_RETINA_Z3            ZORRO_ID(MACROSYSTEMS_GERMANY, 0x10, 0)
  545. #define  ZORRO_PROD_MACROSYSTEMS_VLAB_MOTION            ZORRO_ID(MACROSYSTEMS_GERMANY, 0x12, 0)
  546. #define  ZORRO_PROD_MACROSYSTEMS_ALTAIS                ZORRO_ID(MACROSYSTEMS_GERMANY, 0x13, 0)
  547. #define  ZORRO_PROD_MACROSYSTEMS_FALCON_040            ZORRO_ID(MACROSYSTEMS_GERMANY, 0xFD, 0)
  548.  
  549. #define ZORRO_MANUF_COMBITEC                    0x6766
  550.  
  551. #define ZORRO_MANUF_SKI_PERIPHERALS                0x8000
  552. #define  ZORRO_PROD_SKI_PERIPHERALS_MAST_FIREBALL        ZORRO_ID(SKI_PERIPHERALS, 0x08, 0)
  553. #define  ZORRO_PROD_SKI_PERIPHERALS_SCSI_DUAL_SERIAL        ZORRO_ID(SKI_PERIPHERALS, 0x80, 0)
  554.  
  555. #define ZORRO_MANUF_REIS_WARE_2                    0xA9AD
  556. #define  ZORRO_PROD_REIS_WARE_SCAN_KING                ZORRO_ID(REIS_WARE_2, 0x11, 0)
  557.  
  558. #define ZORRO_MANUF_CAMERON                    0xAA01
  559. #define  ZORRO_PROD_CAMERON_PERSONAL_A4                ZORRO_ID(CAMERON, 0x10, 0)
  560.  
  561. #define ZORRO_MANUF_REIS_WARE                    0xAA11
  562. #define  ZORRO_PROD_REIS_WARE_HANDYSCANNER            ZORRO_ID(REIS_WARE, 0x11, 0)
  563.  
  564. #define ZORRO_MANUF_PHOENIX_2                    0xB5A8
  565. #define  ZORRO_PROD_PHOENIX_ST506_2                ZORRO_ID(PHOENIX_2, 0x21, 0)
  566. #define  ZORRO_PROD_PHOENIX_SCSI_2                ZORRO_ID(PHOENIX_2, 0x22, 0)
  567. #define  ZORRO_PROD_PHOENIX_RAM_2                ZORRO_ID(PHOENIX_2, 0xBE, 0)
  568.  
  569. #define ZORRO_MANUF_COMBITEC_2                    0xC008
  570. #define  ZORRO_PROD_COMBITEC_HD                    ZORRO_ID(COMBITEC_2, 0x2A, 0)
  571. #define  ZORRO_PROD_COMBITEC_SRAM                ZORRO_ID(COMBITEC_2, 0x2B, 0)
  572.  
  573.  
  574.     /*
  575.      *  Test and illegal Manufacturer IDs.
  576.      */
  577.  
  578. #define ZORRO_MANUF_HACKER                    0x07DB
  579. #define  ZORRO_PROD_GENERAL_PROTOTYPE                ZORRO_ID(HACKER, 0x00, 0)
  580. #define  ZORRO_PROD_HACKER_SCSI                    ZORRO_ID(HACKER, 0x01, 0)
  581. #define  ZORRO_PROD_RESOURCE_MANAGEMENT_FORCE_QUICKNET_QN2000    ZORRO_ID(HACKER, 0x02, 0)
  582. #define  ZORRO_PROD_VECTOR_CONNECTION_2                ZORRO_ID(HACKER, 0xE0, 0)
  583. #define  ZORRO_PROD_VECTOR_CONNECTION_3                ZORRO_ID(HACKER, 0xE1, 0)
  584. #define  ZORRO_PROD_VECTOR_CONNECTION_4                ZORRO_ID(HACKER, 0xE2, 0)
  585. #define  ZORRO_PROD_VECTOR_CONNECTION_5                ZORRO_ID(HACKER, 0xE3, 0)
  586.  
  587.  
  588.     /*
  589.      *  GVP identifies most of its products through the 'extended product code'
  590.      *  (epc). The epc has to be ANDed with the GVP_PRODMASK before the
  591.      *  identification.
  592.      */
  593.  
  594. #define GVP_PRODMASK            (0xf8)
  595. #define GVP_SCSICLKMASK            (0x01)
  596.  
  597. enum GVP_flags {
  598.     GVP_IO        = 0x01,
  599.     GVP_ACCEL        = 0x02,
  600.     GVP_SCSI        = 0x04,
  601.     GVP_24BITDMA    = 0x08,
  602.     GVP_25BITDMA    = 0x10,
  603.     GVP_NOBANK        = 0x20,
  604.     GVP_14MHZ        = 0x40,
  605. };
  606.  
  607.  
  608. struct Node {
  609.     struct  Node *ln_Succ;    /* Pointer to next (successor) */
  610.     struct  Node *ln_Pred;    /* Pointer to previous (predecessor) */
  611.     __u8    ln_Type;
  612.     __s8    ln_Pri;        /* Priority, for sorting */
  613.     __s8    *ln_Name;        /* ID string, null terminated */
  614. } __attribute__ ((packed));
  615.  
  616. struct ExpansionRom {
  617.     /* -First 16 bytes of the expansion ROM */
  618.     __u8  er_Type;        /* Board type, size and flags */
  619.     __u8  er_Product;        /* Product number, assigned by manufacturer */
  620.     __u8  er_Flags;        /* Flags */
  621.     __u8  er_Reserved03;    /* Must be zero ($ff inverted) */
  622.     __u16 er_Manufacturer;    /* Unique ID, ASSIGNED BY COMMODORE-AMIGA! */
  623.     __u32 er_SerialNumber;    /* Available for use by manufacturer */
  624.     __u16 er_InitDiagVec;    /* Offset to optional "DiagArea" structure */
  625.     __u8  er_Reserved0c;
  626.     __u8  er_Reserved0d;
  627.     __u8  er_Reserved0e;
  628.     __u8  er_Reserved0f;
  629. } __attribute__ ((packed));
  630.  
  631. /* er_Type board type bits */
  632. #define ERT_TYPEMASK    0xc0
  633. #define ERT_ZORROII    0xc0
  634. #define ERT_ZORROIII    0x80
  635.  
  636. /* other bits defined in er_Type */
  637. #define ERTB_MEMLIST    5        /* Link RAM into free memory list */
  638. #define ERTF_MEMLIST    (1<<5)
  639.  
  640. struct ConfigDev {
  641.     struct Node     cd_Node;
  642.     __u8          cd_Flags;    /* (read/write) */
  643.     __u8          cd_Pad;     /* reserved */
  644.     struct ExpansionRom cd_Rom;     /* copy of board's expansion ROM */
  645.     void        *cd_BoardAddr;    /* where in memory the board was placed */
  646.     __u32         cd_BoardSize;    /* size of board in bytes */
  647.     __u16          cd_SlotAddr;    /* which slot number (PRIVATE) */
  648.     __u16          cd_SlotSize;    /* number of slots (PRIVATE) */
  649.     void        *cd_Driver;    /* pointer to node of driver */
  650.     struct ConfigDev    *cd_NextCD;    /* linked list of drivers to config */
  651.     __u32         cd_Unused[4];    /* for whatever the driver wants */
  652. } __attribute__ ((packed));
  653.  
  654. #else /* __ASSEMBLY__ */
  655.  
  656. LN_Succ        = 0
  657. LN_Pred        = LN_Succ+4
  658. LN_Type        = LN_Pred+4
  659. LN_Pri        = LN_Type+1
  660. LN_Name        = LN_Pri+1
  661. LN_sizeof    = LN_Name+4
  662.  
  663. ER_Type        = 0
  664. ER_Product    = ER_Type+1
  665. ER_Flags    = ER_Product+1
  666. ER_Reserved03    = ER_Flags+1
  667. ER_Manufacturer    = ER_Reserved03+1
  668. ER_SerialNumber    = ER_Manufacturer+2
  669. ER_InitDiagVec    = ER_SerialNumber+4
  670. ER_Reserved0c    = ER_InitDiagVec+2
  671. ER_Reserved0d    = ER_Reserved0c+1
  672. ER_Reserved0e    = ER_Reserved0d+1
  673. ER_Reserved0f    = ER_Reserved0e+1
  674. ER_sizeof    = ER_Reserved0f+1
  675.  
  676. CD_Node        = 0
  677. CD_Flags    = CD_Node+LN_sizeof
  678. CD_Pad        = CD_Flags+1
  679. CD_Rom        = CD_Pad+1
  680. CD_BoardAddr    = CD_Rom+ER_sizeof
  681. CD_BoardSize    = CD_BoardAddr+4
  682. CD_SlotAddr    = CD_BoardSize+4
  683. CD_SlotSize    = CD_SlotAddr+2
  684. CD_Driver    = CD_SlotSize+2
  685. CD_NextCD    = CD_Driver+4
  686. CD_Unused    = CD_NextCD+4
  687. CD_sizeof    = CD_Unused+(4*4)
  688.  
  689. #endif /* __ASSEMBLY__ */
  690.  
  691. #ifndef __ASSEMBLY__
  692.  
  693. #define ZORRO_NUM_AUTO        16
  694.  
  695. #ifdef __KERNEL__
  696.  
  697. extern unsigned int zorro_num_autocon;    /* # of autoconfig devices found */
  698. extern struct ConfigDev zorro_autocon[ZORRO_NUM_AUTO];
  699.  
  700.  
  701.     /*
  702.      *  Zorro Functions
  703.      */
  704.  
  705. extern void zorro_init(void);
  706. extern void zorro_proc_init(void);
  707.  
  708. extern unsigned int zorro_find(zorro_id id, unsigned int part, unsigned int index);
  709. extern const struct ConfigDev *zorro_get_board(unsigned int key);
  710. extern void zorro_config_board(unsigned int key, unsigned int part);
  711. extern void zorro_unconfig_board(unsigned int key, unsigned int part);
  712.  
  713.  
  714.     /*
  715.      *  Bitmask indicating portions of available Zorro II RAM that are unused
  716.      *  by the system. Every bit represents a 64K chunk, for a maximum of 8MB
  717.      *  (128 chunks, physical 0x00200000-0x009fffff).
  718.      *
  719.      *  If you want to use (= allocate) portions of this RAM, you should clear
  720.      *  the corresponding bits.
  721.      */
  722.  
  723. extern __u32 zorro_unused_z2ram[4];
  724.  
  725. #define Z2RAM_START        (0x00200000)
  726. #define Z2RAM_END        (0x00a00000)
  727. #define Z2RAM_SIZE        (0x00800000)
  728. #define Z2RAM_CHUNKSIZE        (0x00010000)
  729. #define Z2RAM_CHUNKMASK        (0x0000ffff)
  730. #define Z2RAM_CHUNKSHIFT    (16)
  731.  
  732.  
  733. #endif /* !__ASSEMBLY__ */
  734. #endif /* __KERNEL__ */
  735.  
  736. #endif /* _LINUX_ZORRO_H */
  737.